package leecode

func verifyTreeOrder(postorder []int) bool {
	if len(postorder) < 2 {
		return true
	}
	index := len(postorder) - 1 //根节点
	rootVal := postorder[index]
	//二叉搜索树,左侧全部小于根节点 , 右侧全部大于根节点
	for i, value := range postorder {
		//检查出现大于根节点的位置的索引
		if index == len(postorder)-1 && value > rootVal {
			index = i //当前位置的右侧不能在有比根节点小的值了
		}
		if index != len(postorder)-1 && value < rootVal {
			return false
		}
	}
	return verifyTreeOrder(postorder[:index]) && verifyTreeOrder(postorder[index:len(postorder)-1])
}
